package com.its.util;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * RestTemplate 配置类
 * 用于创建 RestTemplate Bean 的配置类。
 * RestTemplate 是 Spring 提供的用于访问 REST 服务的工具类。
 * 在这里通过 @Bean 注解创建 RestTemplate Bean，并交给 Spring 管理。
 *
 * 注意：在使用该类时，确保添加了相关的依赖，如 spring-boot-starter-web。
 *
 * @author 朱厚强
 * @version 1.0
 * @classname RestTemplateConfig
 */
@Configuration
//开启自定义负载均衡设置
@LoadBalancerClients(defaultConfiguration = NacosSameClusterConfiguration.class)
public class RestTemplateConfig {

    /**
     * 创建 RestTemplate Bean
     *
     * @return 返回 RestTemplate 对象
     */
    @Bean
    @LoadBalanced // 加上此注解之后便可拥有负载均衡的能力
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
